// 修改数组：

// push()：在数组末尾添加一个或多个元素，并返回新的长度。
// pop()：删除数组末尾的元素，并返回被删除的元素。
// shift()：删除数组的第一个元素，并返回被删除的元素。
// unshift()：在数组的开头添加一个或多个元素，并返回新的长度。
// splice()：从数组中添加或删除元素。
// 数组遍历和操作：

// forEach()：对数组中的每个元素执行指定的函数。
// map()：通过对数组中的每个元素应用指定的函数创建一个新数组。
// filter()：通过对数组中的每个元素应用指定的函数筛选出符合条件的元素，并创建一个新数组。
// reduce()：通过对数组中的每个元素依次应用指定的函数，将数组归约为单个值。
// sort()：对数组进行排序。
// reverse()：翻转数组中元素的顺序。
// 数组查询和检索：

// indexOf()：返回数组中第一个匹配指定元素的索引，如果找不到则返回-1。
// lastIndexOf()：返回数组中最后一个匹配指定元素的索引，如果找不到则返回-1。
// includes()：判断数组是否包含指定元素，返回布尔值。
// find()：返回数组中第一个满足条件的元素。
// findIndex()：返回数组中第一个满足条件的元素的索引。
// 数组转换和连接：

// join()：将数组中的所有元素以指定分隔符连接成一个字符串。
// concat()：将两个或多个数组合并成一个新数组。
// slice()：从原数组中提取指定范围的元素，返回一个新数组。
let arr = ['A', 'B', 'C', 'D']
let colors = []
for (let i = 0; i < arr.length; i++) {
  colors[arr[i]] = 'white'
} 
// 返回不带数字索引的稀疏数组 会丧失length 属性
console.log(colors);